
Classifier Chains는 다중 레이블 분류(multi-label classification)를 위한 방법 중 하나로, 레이블 간의 상호 의존성을 모델링하여 예측 성능을 높이려는 기법입니다. 주요 아이디어와 특징을 요약하면 다음과 같습니다. 설명 (핵심 아이디어) - 문제 설정: 입력 특성 벡터 x와 레이블 벡터 y = (y1, y2, …, yL)가 있을 때, 각 레이블 yi를 독립적으로 예측하는 대신 레이블들 사이의 조건부 의존성을 이용합니다. - 체인 구조: L개의 이진(또는 다중 클래스) 분류기를 순서대로 연결(chain)합니다. 첫 번째 분류기는 f1(x)를 학습하여 y1을 예측하고, 두 번째 분류기는 f2(x, y1)를 학습하여 y2를 예측하는 식으로 진행합니다. 일반적으로 i번째 분류기는 x와 이전 i-1개의 실제(학습 시) 또는 예측(추론 시) 레이블을 입력으로 받습니다. - 확률적 관점: P(y | x)를 다음과 같이 곱으로 분해하는 것과 동치입니다. P(y | x) = ∏_{i=1..L} P(yi | x, y1, …, y_{i-1}) (이 분해를 학습/추정하는 것이 classifier chains의 기초) 학습과 추론 - 학습: 각 단계 i에서 학습 데이터의 입력으로 원래 특성 x와 그 단계 이전 레이블(학습시에는 실제 레이블)을 합쳐 분류기를 학습합니다. - 추론(예측): 테스트 시에는 이전 단계들의 예측값을 입력으로 사용합니다(즉, 순차적 예측). 이 때문에 이전 예측의 오류가 이후 단계로 전파될 수 있습니다(오류 전파 문제). 장점 - 레이블 간 상관관계를 모델링하므로, 독립적으로 예측하는 Binary Relevance(BR)보다 성능이 좋은 경우가 많습니다. - 구현이 비교적 간단하고 기존 분류기를 그대로 활용할 수 있습니다. 단점 및 유의사항 - 순서 민감성: 레이블 체인의 순서에 따라 성능이 달라질 수 있습니다. (좋은 순서를 찾는 것은 추가 고민이 필요) - 오류 전파: 앞 단계의 잘못된 예측이 뒤 단계에 악영향을 미칠 수 있음. - 복잡도: 레이블 수가 많아지면 입력 차원이 늘어나고, 확률적으로 최적 조합을 찾으려면 계산 비용이 커짐. 개선 및 변형 기법 - Ensemble of Classifier Chains (ECC): 서로 다른 무작위 체인 순서를 사용해 여러 체인을 앙상블하여 순서 민감성과 오류 전파 문제를 완화. - Probabilistic Classifier Chains (PCC): 조건부 확률을 이용해 가능한 레이블 조합에서 최대 사후 확률을 갖는 조합을 탐색(완전 탐색은 지수적 비용; 빔 서치 등으로 근사). - Classifier Trellis, Dependent Binary Relevance 등 레이블 의존성 모델링의 다른 구조적 확장들. 실무 팁 - 기본 분류기는 확률 예측을 잘 하는 모델(예: 로지스틱 회귀, 확률 출력 가능한 트리 기반 모델)이 좋습니다. - 앙상블(ECC) 또는 여러 랜덤 순서로 교차검증하여 안정적인 성능을 확보하세요. - 임계값(threshold) 설정과 출력 확률의 보정(calibration)을 신경 쓰면 최종 다중 레이블 성능(예: precision/recall)에 도움이 됩니다. 간단 예시 - 레이블 세 개(y1, y2, y3)가 있을 때: 1) f1 학습: 입력 = x → 예측 y1 2) f2 학습: 입력 = [x, y1] → 예측 y2 3) f3 학습: 입력 = [x, y1, y2] → 예측 y3 예측 시에는 순서대로 ŷ1 = f1(x), ŷ2 = f2(x, ŷ1), ŷ3 = f3(x, ŷ1, ŷ2) 요약 - Classifier Chains는 레이블 간의 조건부 의존성을 이용해 다중 레이블 문제를 푸는 간단하면서도 효과적인 방법이며, 순서 선택, 오류 전파 문제 등을 앙상블이나 확률적 탐색으로 완화하는 방식들이 널리 쓰입니다.